System, method, and computer program for enabling a user to synchronize, manage, and share folders across a plurality of client devices and a synchronization server

ABSTRACT

A system, method, and computer program are provided for enabling a user to synchronize, manage, and share files and folders across a plurality of client devices and a synchronization server. In a user interface, a first view displays all folders, which a user has synchronized to the synchronization server and a drop-target zone to which the user is able to drag a folder from the local device to synchronize the folder with the synchronization server. A second view displays all files and folders, which the user has shared with other users. A third view displays a list of user contacts, where each contact is a drop-target zone on which a user is able to drag a folder to share the folder with the contact. A fourth view is provided in which a user is able to see activity related to a folder displayed in the first view.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to a synchronization system and, moreparticularly, to a system and method for enabling a user to synchronize,manage, and share folders across a plurality of client devices and asynchronization server.

2. Description of the Background Art

Many users have multiple computing devices, such as home computer, awork computer, and a mobile phone. Synchronization systems enable usersto synchronize files on one device to another device. Somesynchronization systems utilize a simple synchronization process, wherea user adds any files he wishes to synchronize to a single folder, andthe folder is synchronized to all of the user's devices. Othersynchronization systems provide more enhanced capability and enableusers to specify which folders/files will be synchronized to whichdevices.

The synchronization systems with the enhanced functionality have theadvantage of enabling greater control and file management by the user.However, setting up and managing synchronization in these settings canalso be more complex, especially for those new to the technology.Therefore, there is a need for an intuitive system and method forenabling a user to easily synchronize, manage, and share folders acrossa plurality of client devices in a synchronization system that providesenhanced synchronization functionality.

SUMMARY OF THE INVENTION

The present invention is directed to a system, method, and computerprogram for enabling a user to synchronize, manage, and share files andfolders across a plurality of client devices and a synchronizationserver.

The method includes providing a first view in a user interface on alocal device that displays all folders, across a plurality of the user'sclient devices (local and remote), that a user has synchronized to thesynchronization server. The folders are displayed in the first viewregardless of whether the folder resides on the local device or a remotedevice. The first view has (i) a default mode that is device independentsuch that, in the default mode, folders are not organized by device and(ii) a feature that enables a user to view folders by device.

A first drop-target zone is provided in the user interface to which auser is able to drag a folder from the local device to synchronize thefolder between the local device and the synchronization server. Inresponse to a user dragging a folder to the first drop target zone, acopy of the dragged folder is uploaded to the synchronization server andthe dragged folder is added to the first view.

In response to a specified user command with respect to a folder in thefirst view, further information is displayed related to the folder,including the device(s) to which the folder is synchronized.

A user is enabled, via the user interface, to synchronize a remotelylocated folder to the local device. In response to a user electing tosynchronize a remotely located folder to the local device, a copy of theremotely located folder is downloaded to the local device and the userinterface is updated to indicate that the remotely located folder is nowsynchronized to the local device.

A second view is provided in the user interface that displays allfolders, across a plurality of the user's client devices, that the userhas shared with other users. A third view is provided in the userinterface that displays a list of user contacts. Each listed contact isa drop-target zone on which a user is able to drag a folder to share thefolder with the contact. A second drop-target zone is provided in theuser interface on which a user is able to drag a folder to generate adialog box that provides a user with options for sharing the folder withanother person.

A fourth view is provided in the user interface in which a user is ableto see activity related to a folder displayed in the first view. Forfolders that are shared with other users, the user is able to seeactivity of the other users with respect to the folders.

In certain embodiments, the method enables a user to synchronize,manage, and share objects across a plurality of client devices and asynchronization server. These objects may include files, media objects,collections, etc. Collections may include items, stored across theplurality of client devices, which share one or more specifiedattributes. The attributes may be specified automatically by thesynchronization system or by the user. Examples of attributes that maybe used to specify a collection include a location associated with anobject, a version of an object, a timestamp associated with an object,file type of an object, device on which object resides, and a permissionclass associated with a shared object.

In one embodiment, the method further includes providing a search toolin the user interface that enables a user to search for files in anyfolder displayed in the user interface. A feature may also be providedin the user interface that enables a user to generate a web link to anyfolder, or file therein, displayed in the user interface. A user may beable to access, via the user interface, a virtual drive on the localdevice, where, via the virtual drive, a user is able to access items(e.g., files) in any object (e.g., folders), including objects locatedonly on a remote device. A user may also be enabled to editsynchronization settings for a remote folder via the user interface.

In one embodiment, in response to a specified user command with respectto a folder in the second view, the names of people with whom the userhas shared the folder are displayed. The second view may also displayall folders that other users have shared with the user. A user may alsobe enabled, via the user interface, to share a folder on a remote devicewith another user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 a-1 c are a flowchart that illustrates a method for enabling auser to synchronize, manage, and share folders across a plurality ofclient devices and a synchronization server.

FIG. 2 is a block diagram of a synchronization system according to oneembodiment of the invention.

FIGS. 3-14 are screenshots of an exemplary user interface in asynchronization system according to one embodiment of the invention.

FIGS. 15-19 are screenshots of an exemplary process of synchronizing afolder in a synchronization system according to one embodiment of theinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention provides a system, method, and computer programfor enabling a user to synchronize, manage, and share folders across aplurality of client devices and a synchronization server.

FIGS. 1 a-1 c show the preferred method performed on a local clientdevice for enabling a user to synchronize, manage, and share foldersacross a plurality of client devices and a synchronization server. Aperson skilled in the art would understand that the steps of FIGS. 1 a-1c may be performed in parallel and may be performed in a different orderwithin the scope of the present invention. A client device may include adesktop computer, a laptop, a work computer, or a mobile device. In thepreferred embodiment, there are three views, the content view, thesharing view, and the activity view, but a person skilled in the artwould understand that there may be more or less views within the scopeof the present invention.

In the content view, a first user interface view is provided on a localdevice that displays all objects, across a plurality of the user'sclient devices, which a user has synchronized to the synchronizationserver, including both local and remote objects (Step 110). This view isdevice independent such that objects are not organized by device, butthe first view has filtering, sorting and grouping features that enablea user to view only those objects synchronized to a particular device.For example, a filtering feature may display only a subset of thesynchronized folders. A sorting or grouping feature may display allfolders, but organize and label them in groups by device. An object maybe a folder or a file (e.g., a WORD document, EXCEL spreadsheet,POWERPOINT presentation, etc.), a media object (e.g., a photograph,video, etc.), or other types of files. A second user interface view isalso provided that displays all objects, across a plurality of theuser's client devices, which the user has shared with other users andall objects that other users in the synchronization system have sharedwith the user (Step 120).

In the sharing view, a third user interface view is provided thatdisplays a list of user contacts (Step 130). Each listed contact is adrop-target zone on which the user is able to drag an object to sharethe object with the contact. In one embodiment, when a user drags anobject to a contact in the user interface, a dialog box or other screenis generated that provides the user with options for sharing the objectwith the contact. For example, the dialog box may provide a user withcommunication options (e.g., email share invitation, use a socialnetworking website, etc.) and permission options. A second drop-targetzone also is provided in the user interface on which the user is able todrag an object to generate a dialog box that provides the user withoptions for sharing the object with another person (Step 140).

In the activity view, a fourth user interface view is provided in whicha user is able to see activity related to an object displayed in thefirst view, including activity of other users (if applicable) (Step150). For example, each time an object or an item within an object ismodified, a notice is posted in the activity view.

The content view presents a number of different functions to the user.For example, the content view enables the user to synchronize an objectwith the synchronization system. A first drop-target zone is provided towhich a user is able to drag an object to synchronize the object to thesynchronization system (Step 160). The first drop-target zone may be asection of a screen within the user interface or the whole screen (e.g.,the whole user interface may be a drop target zone). If the user dragsan object to the first drop-target zone, a copy of the dragged object(including its contents) is uploaded to the synchronization server andthe dragged object is added to the first user interface view (Step 170).

The content view also enables the user to view additional informationregarding objects. For example, in response to a specified command withrespect to an object in the first view (e.g., clicking on the object,“mousing” over an object, swiping the object, etc.), an informationpanel with more information related to the object, including thedevice(s) to which the object is synchronized is displayed (Step 175).

The content view also enables the user to synchronize an object on aremote device to the local device. For example, a feature, affordance,or tool in the user interface that enables a user to synchronize anobject on a remote device to the local device is provided (Step 180). Inone embodiment, this takes the form of an on/off toggle switch where theuser can control synchronization between a remote device and a localdevice. In another embodiment, the user can control the synchronizationsettings for any object for any device. If the user elects tosynchronize the remote object to the local device, a copy of theremotely located object is downloaded to the local device and theinformation panel is modified for the object to indicate that the objectis now synchronized to the local device (Step 185).

The sharing view also presents a number of different functions to theuser. For example, if the user drags an object to the second drop-targetzone, a dialog box that provides a user with options for sharing theobject with another person is provided.

The user interface may have additional features and functionality. Inone embodiment, a search tool is provided in the user interface thatenables a user to search for objects or items in any object displayed inthe user interface. The search tool may search by file name or by otherattributes (e.g., file type, permission class, location designation,timestamp, version, user or synchronization system defined attribute,etc.).

In another embodiment, a user is able to generate a web link in the userinterface to any object displayed in the user interface. In a furtherembodiment, a user is able to access, via the user interface, a virtualdrive on the local device, where, via the virtual drive, a user is ableto access items in any object, including objects located only on aremote device. The virtual drive is discussed in greater detail in U.S.patent application Ser. No. 13/571,512, filed on Aug. 10, 2012, which isincorporated by reference herein in its entirety.

In some embodiments, in response to a specified command with respect toany object in the second view (e.g., clicking on an object or swipingthe object), the names of people with whom the user has shared theobject is displayed. All objects that other users have shared with theuser may also be displayed in the second view. In certain embodiments, auser is able to share an object on a remote device with another user viathe user interface on the local device. The user may also be able toedit synchronization settings for a remote object via the user interfaceon the local device.

As previously discussed, an object may be a folder or a file, a mediaobject, calendar, contact, or email object, etc. The object may also bea collection. Collections comprise items, across a plurality of clientdevices, which share one or more specified attributes. An attribute is aproperty that the user can assign to any object or collection (e.g.,client name). An attribute has an attribute value (i.e., the value thata user might assign to an attribute) and an attribute type (i.e., thedata type of the attribute value). One example of a collection may bethe user's recent photographs from Hawaii that are stored across theuser's camera, mobile device, laptop, and home computer. In this example“Hawaii” is one possible value of a “location” attribute. Attributes maybe specified automatically by the synchronization system or specified bythe user. In one embodiment, the attributes a user may use to create acollection include, but are not limited to, a location associated withan object, an arbitrary user-defined “tag” associated with an object, aversion of an object, a timestamp associated with an object, file typeof an object, device on which object resides, and a permission classassociated with a shared object.

FIG. 2 illustrates an exemplary synchronization system 200 according toone embodiment. As a person skilled in the art would understand, thesynchronization system 200 may be constructed in any number of wayswithin the scope of the present invention. The methods of FIGS. 1 a-1 cmay be implemented in other systems, and the invention is not limited tosystem 200.

Synchronization system 200 includes a synchronization server 220 and aplurality of client devices such as, for example, a home computer 230, awork computer 240, and a mobile device 250. A person skilled in the artwould understand that the synchronization system 200 may have any numberof client devices, including one or more desktops, laptops, and mobiledevices connected to it. These client devices 230, 240, 250 may allbelong to the same user or may belong to different users who have sharedaccess to objects with one another. Client devices communicate with thesynchronization server 220 via the Internet or other network 210.Synchronization server 220 is representative of the server-side of asynchronization system and, in a large synchronization system, is likelya plurality of synchronization servers networked together. When a usersynchronizes an object to the synchronization server, thesynchronization server stores a copy of the object.

In one embodiment, each of the client devices in the synchronizationsystem runs a client sync application that generates the user interfacedescribed with respect to FIGS. 1 a-1 c. In one embodiment, the clientsync application monitors multiple data sources (e.g., file systems,data associated with the synchronization system, data associated withobjects being monitored by the synchronization system, etc.) on thelocal client devices for changes to synchronized objects and notifiesserver 220 of changes. When a client drags a folder to the firstdrop-target zone referenced in FIG. 1, the applicable client syncapplication notifies the synchronization server 220 and uploads a copyof the folder to the synchronization server 220. The client syncapplications also register for notices of changes to relevant objectswith the synchronization server. When the synchronization serverreceives notice of a change from a client device, it modifies its datarelated to the object and sends a notice of the change to all otherclient devices that have appropriately registered for changes to theobject. Examples of synchronization systems are disclosed in (i) U.S.Pat. No. 7,885,925, titled “Method and Apparatus for File Sharing andSynchronization System,” and (ii) U.S. Pat. No. 8,019,900, titled“Opportunistic Peer to Peer Synchronization in a SynchronizationSystem.” The contents of both of these patents are incorporated hereinby reference as if fully disclosed herein.

The methods described with respect to FIGS. 1 a-1 c are embodied insoftware and performed by a computer system executing the software. Aperson skilled in the art would understand that a computer system has amemory or other physical, computer-readable storage medium for storingsoftware instructions and one or more processors for executing thesoftware instructions.

FIGS. 3-14 illustrate screenshots of an exemplary user interfaceaccording to the present invention. A person skilled in the art wouldunderstand that the present invention may be embodied on other userinterfaces having more or less functionality within the scope of thepresent invention or using objects other than folders. As such, FIGS.3-14 are intended to be illustrative and not limiting in any way.

FIG. 3 illustrates an exemplary user interface 300 for a client syncapplication that runs on an electronic computer desktop, such as theMACINTOSH, WINDOWS or LINUX platforms. A person skilled in the art wouldunderstand that the user interface 300 also may be embodied in a webbrowser application or a mobile phone/tablet application. The userinterface has a content view 305, a sharing view 310, an activity view315, and a search button 320. The content button 305 has three tabs, aMy Cloud tab 325, a Shared folders tab 330, and a Web link tab 335. Aperson skilled in the art would understand that the user interface mayhave more or less views and tabs within the scope of the presentinvention.

The My Cloud tab 325 provides a list of folders, across all the user'sdevices running a client sync application (e.g., home computer 230, workcomputer 240, and mobile device 250), that have been synchronized to orstored on the synchronization server 220. The list is not limited tofolders that reside on the local device on which the user is viewing thelist. The list also includes any folders on remote user devices thathave been synchronized to the synchronization server. The list offolders 340 is content-centric rather than device-dependent, but theuser interface may have a filter button (not shown, e.g., a drop-downmenu) that would allow the user to filter out and view the folders on aparticular device (e.g., home computer 230). The folders may bepresented as a list, as thumbnails, etc. Also on the My Cloud tab 325 isa drop-target zone 345, to which a user can drag a folder to synchronizethe folder between the local client device and the synchronizationserver (and, if desired, other client devices). In certain embodiments,a user may drag a remotely-located folder from the list of folders 340on the user interface 300 to the device's desktop (e.g., home computer230) to synchronize the folder to the local device. The drop-target zone345 may be a section of the user interface or the entire user interface.The user may also add folders by clicking an icon 350 and browsingthrough the device's file system for the particular folder. The userinterface may also have an indicator 355 that shows the percentage ofallocated storage on the synchronization server 220 currently in use.

FIG. 4 illustrates the user dragging folder 405 to drop-target zone 345on home computer 230. FIG. 5 illustrates folder 405 being uploaded tothe synchronization server 220 and added to the list of folders 340. Asdenoted by the icon 505, the folder 405 is being synchronized with thesynchronization server 220. It may also be pushed to any number ofclient devices (e.g., work computer 240 and/or mobile device 250) thathave registered with the synchronization sever for notices of thechange. Icon 510 allows the user to cancel the uploading andsynchronization process.

FIG. 6 illustrates the information panel 605 that the user may viewafter the user performs a specified command (e.g., clicks on aparticular folder in the list of folders 340). The information panel 605shows the size of the folder 610, a toggle button 615, which allows toturn on an off synchronization of the folder to the local device, afield 620 that allows user control of the sharing functionality, and afield 625 that shows which of the user's devices are synchronized withthe folder.

In certain embodiments, a user may elect to synchronize a remotelylocated folder (e.g., on work computer 240) to the local device (e.g.,home computer 230). In the example user interface, a user could do thisby turning toggle switch 615 to ON for a remotely-located folder. Inwhich case, a copy of the remotely located folder is downloaded to thelocal device and the information panel 605 is updated to indicate thatthe remotely located folder is now synchronized to the local device. Aperson skilled in the art would understand that more or lessfunctionality may be present on the information panel 605 within thescope of the present invention. The information panel 605 may also bebroken up into a basic section 630 and an advance section 635, which isinitially hidden, but may be selected and expanded by the user. Theadvanced section 635 may include functionality such as controlling thesynchronization of subfolders and deletion of the folder from thesynchronization system.

FIG. 7 illustrates the Shared folders tab 330. In the first section 705,the user views which folders the user has shared with other users. Inthe second section 710, the user views which folders other users haveshared with him or her. FIG. 8 illustrates the information panel 805that the user views when the user clicks on one of the folders that theuser has shared with other users. The information panel 805 shows thesize of the shared folder 810, whether the folder is synchronized withthe local device 815, who has received a sharing invitation to thefolder 820, including the sharing permission class of the other users(e.g., read-only member, etc.), and what other devices maintainsynchronization with the folder 825. The information panel 805 alsoincludes controls 830 that allow the user to share the folder withadditional members or change the permission class of shared members. Theuser may also edit synchronization settings for a remote folder (e.g.,on work computer 240) or share a folder on a remote device with anotheruser.

FIG. 9 illustrates the Web link tab 335. The Web link tab 335 includes alist of folders or files that have been shared as a link with otherusers. In this example, a list of files is shown, which is sorted by thedate the link was enabled 905. The list may be sorted using othercriteria as well. Each file has an icon 910, which indicates the numberof times the file has been downloaded, and an icon 915, which places thelink onto the clipboard to be copied into an email, text, or othertransmittal. One benefit of sending links to folders or files to otherusers is it allows other users to access the folders or files withoutrequiring the other user to create an account in the synchronizationsystem.

In certain embodiments, the activity view 315 (not shown) shows a feedof all the activity or history that has taken place in the accountrelated to any folders displayed in the My Cloud tab 325, including theactivity of other users, if any, with whom the folder is shared. Incertain embodiments, the search button 320 enables the user to searchfor files in any folder displayed in the user interface, includingremote files.

FIG. 10 illustrates one way in which a user may access items in objectsdisplayed in the client sync application. In this particular example,the items are files and the objects are folders, but as discussed inmore detail in U.S. patent application Ser. No. 13/571,512, filed onAug. 10, 2012, which is incorporated by reference herein, items may notnecessarily reside across a file or folder system, but also across analternate organizational scheme. As seen in FIG. 10, any file in folders1005 in the synchronization system may be accessed through a virtualdrive 1010, including folders located only on a remote device (e.g.,work computer 240) or folders located only on the synchronization server220. A virtual drive is a file representation view of non-file systemdata. That means that the folders 1005 may be viewed as if they residedon the hard drive of the local device (e.g., home computer 230) and theuser may open, add, edit, delete, and move files within these folders,including files that reside on a remote device. Changes made via thevirtual drive are automatically synchronized with the synchronizationserver and applicable client devices. In one embodiment, a user doubleclicks on a folder in the user interface of the client sync application,and the virtual drive is displayed. Not only are all of the user'sfolders that have been synchronized to or stored on server 220accessible through the virtual drive, but also all of the folders 1015shared with the user by other users.

FIGS. 11-12 illustrate the functionality of the sharing view 310. FIG.11 has a list of contacts 1105, each of which is a drop-target zone, anda separate dedicated drop-target zone 1110. The list of contacts 1105may be compiled from the user's MICROSOFT OUTLOOK contacts, mobiledevice contacts, or any other contacts. In one embodiment, when a userdrags a folder to a particular contact, the folder or a link to thefolder 1115 is automatically sent (via email, text, or other means) tothe contact. In the preferred embodiment, when the user drags a folder1115 to a particular contact in the contact list, a dialog box isautomatically displayed that provides a user with options for sharingthe folder with the contact. An example of such a dialog box is shown inFIG. 12. In the illustrated example, sharing the folder 1115 may be byweb link 1205, by email 1210, or by social networking 1215. The usercontact information is automatically populated into the “Recipients”field. When the user clicks on the send link button 1220, a link tofolder 1115 is sent to the contact. When the contact clicks on the linkto folder 1115, the contents of the folder are shared with the contact.The user can control the sharing level 1225 of the folder being sent tothe contact (e.g., add and edit access or read-only access). The usermay also create groups of contacts and share folders with a designatedgroup(s).

In an alternate embodiment, if the user desires to share the folder 1115with a contact not on the contact list 1105, the user drags the folder1115 to the separate dedicated drop-target zone 1110, and a dialog boxis generated that provides the user with share options. The user maythen type in the contact's information (e.g., email address) in to theapplicable field in the dialog box, and a link will be sent to thecontact via web link 1205, email 1210, or by social networking 1215.

FIGS. 13-14 illustrate the corresponding web interface 1305 for thesynchronization system. Similar to the user interface for the desktopclient, the web interface 1305 has a content view 1310, a sharing view1315, an activity view 1320, and a search field 1325. Within the contentview 1310 the web interface 1305 has a My Cloud tab 1330, a SharedFolders tab 1335, and a Shared via Web link tab 1340. In the My Cloudtab 1330 are a list of folders 1345 from any of the synchronized clientdevices and a filter drop-down menu 1350 for filtering the list byclient device. As seen in FIG. 14, when the user clicks on a particularfolder 1405 and selects a particular folder or file 1410, a set ofactions is populated in an action toolbar 1415 above. In certainembodiments, the action toolbar 1415 is tailored to the selected folderor file. In certain embodiments, additional content 1420 may bedisplayed on the web interface 1305 that is tailored to enhance theuser's experience. For example, instructional information or helpcontent may be provided.

FIGS. 15-19 illustrate the process on synchronization system 200 ofsynchronizing a folder on a first computer to the synchronization server220 and being able to access the folder through both the first computerand a second computer. FIG. 15 shows a user interface 1500 on thedesktop of a first computer (e.g., a MACINTOSH-based desktop computer).FIG. 16 shows a user interface 1600 on the desktop of a second computer(e.g., a WINDOW-based laptop computer), which has one or more folderssynchronized to the first computer. As seen in FIGS. 17-18, when theuser of the first computer drags a folder labeled “June Meeting Notes”1705 to the drop-target zone 1710 of the user interface 1500, the folder1705 is uploaded to the synchronization server 220 and added to the listof folders 1805 of the user interface 1500 of the first computer. Thefolder 1705 is also added to the user interface 1600 of the secondcomputer.

In certain embodiments, for example on a mobile client device, adedicated view for managing photographs may be easily accessible on theuser interface. In the preferred embodiment, the photographs in thephotograph view are device independent and allow the user to access andshare any photograph from any synchronized device. In certainembodiments, for example on the mobile client device, the contacts onthe device have thumbnail pictures associated with each contact name.The thumbnail pictures may be gathered from the contact's profile onsocial networking sites such as TWITTER or FACEBOOK. The contacts listmay also be a compilation of the synchronization system contacts and theuser's mobile device contacts.

As will be understood by those familiar with the art, the invention maybe embodied in other specific forms without departing from the spirit oressential characteristics thereof. Accordingly, the above disclosure ofthe present invention is intended to be illustrative and not limiting ofthe invention.

1-23. (canceled)
 24. A method for displaying a plurality of synchronizedfolders, the method comprising: displaying, in a content view on a userdevice, a plurality of folder indicators, each of the folder indicatorsrepresenting a folder synchronized with a user account on asynchronization server, wherein the content view comprises: (i) a listmode that enables a user to view the folder indicators regardless ofwhether contents related to each of the folder indicators resides on theuser device or other user devices synchronized with the user account onthe synchronized server, and (ii) a link mode that enables the user toview a plurality of links, each of the links being associated with afolder or at least a portion of contents related to one of the folderindicators, and selectable user interface objects that, when selected,copies the link corresponding to the at least a portion of the contents.25. The method of claim 24, wherein the link is for sending to anotherclient device to enable a user to access the portion of the contentsassociated with the link.
 26. The method of claim 25, wherein the linkis sent via email or text.
 27. The method of claim 24, furthercomprising receiving an interaction at one of the plurality of links inorder to access the contents associated with the link.
 28. The method ofclaim 24, wherein a user interface object is associated with thecontents, which displays a number of times the contents have beendownloaded.
 29. The method of claim 24, wherein the link is associatedwith the folder.
 30. The method of claim 24, further comprisingdisplaying a user interface object, which when selected switches betweenthe list mode and the link mode.
 31. A computer program product storedon a non-transitory computer-readable medium and including instructionsfor causing a computer processor to carry out steps comprising:displaying, in a content view on a user device, a plurality of folderindicators, each of the folder indicators representing a foldersynchronized with a user account on a synchronization server, whereinthe content view comprises: (i) a list mode that enables the user toview the folder indicators regardless of whether contents related toeach of the folder indicators resides on the user device or other userdevices synchronized with the user account on the synchronized server,and (ii) a link mode that enables the user to view a plurality of links,each of the links being associated with a folder at least a portion ofcontents related to one of the folder indicators, and selectable userinterface objects that, when selected, copies the link corresponding tothe at least a portion of the contents.
 32. The computer program productof claim 31, wherein the link is for sending to another client device toenable a user to access the portion of the contents associated with thelink.
 33. The computer program product of claim 32, wherein the link issent via email or text.
 34. The computer program product of claim 31,further comprising code for receiving an interaction at one of theplurality of links in order to access the contents associated with thelink.
 35. The computer program product of claim 31, wherein a userinterface object associated with the contents displays a number of timesthe contents have been downloaded.
 36. The computer program product ofclaim 31, wherein the link is associated with the folder.
 37. Thecomputer program product of claim 31, further comprising code fordisplaying a user interface object, which when selected switches betweenthe list mode and the link mode.
 38. A user interface configured to:display, in a content view on a user devices, a plurality of folderindicators, each of the folder indicators representing a foldersynchronized with a user account on a synchronization server, whereinthe content view comprises: (i) a list mode that enables the user toview the folder indicators regardless of whether contents related toeach of the folder indicators resides on the user device or other userdevices synchronized with the user account on the synchronized server,and (ii) a link mode that enables the user to view a plurality of links,each of the links being associated with a folder or at least a portionof contents related to one of the folder indicators, and selectable userinterface objects that, when selected, copies the link corresponding tothe at least a portion of the contents.
 39. The user interface of claim38, wherein the link is for sending to another client device to enable auser to access the portion of the contents associated with the link. 40.The user interface of claim 39, wherein the link is sent via email ortext.
 41. The user interface of claim 38, further comprising receivingan interaction at one of the plurality of links in order to access thecontents associated with the link.
 42. The computer program product ofclaim 38, wherein the link is associated with the folder.
 43. Thecomputer program product of claim 38, further comprising displaying auser interface object, which when selected switches between the listmode and the link mode.